package com.guqin.interview.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.guqin.interview.model.entity.Question;
import com.guqin.interview.model.entity.QuestionHistory;
import com.guqin.interview.model.vo.DailyQuestionCountVO;
import com.guqin.interview.model.vo.QuestionHistoryVO;

import java.util.Date;
import java.util.List;

/**
 * 题目历史记录服务
 */
public interface QuestionHistoryService extends IService<QuestionHistory> {

    /**
     * 记录用户查看题目
     *
     * @param userId 用户id
     * @param questionId 题目id
     * @return 是否成功
     */
    boolean recordQuestionView(Long userId, Long questionId);

    /**
     * 获取用户某天的题目历史记录
     *
     * @param userId 用户ID
     * @param date   日期
     * @return 题目历史记录列表
     */
    List<QuestionHistoryVO> getUserQuestionsByDate(Long userId, Date date);

    /**
     * 获取用户某年的每日题目统计
     *
     * @param userId 用户ID
     * @param year   年份（为空表示当前年份）
     * @return 每日题目统计列表
     */
    List<DailyQuestionCountVO> getYearlyQuestionCount(Long userId, Integer year);
} 